/***************************************************************************

-------------------
    begin                : 
    copyright            : kuzkok
    email                : kuzkok at gmail.com

***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*   
*   Данная программа является свободным программным обеспечением;         *
*   Вы можете распространять ее и/или модифицировать в соответствии с     *
*   GNU General Public License опубликованной Фондом свободного           *
*   программного обеспечения; используемая версия лицензии - 2 или        *
*   (по вашему выбору) любая более поздняя                                *
***************************************************************************/

#ifndef CENTERLINEPOINT_H
#define CENTERLINEPOINT_H

#include "objectarchive.h"

class CenterlinePoint : public ObjectArchive
{
    Q_OBJECT
public:
    explicit CenterlinePoint(QString theTableName);
    CenterlinePoint(QUuid theEventID, QString theTableName);

    QString clControl()
    {
        return mCLControl;
    }

    QString clStationEditResponse()
    {
        return mCLStationEditResponse;
    }

    QString clXYEditResponse()
    {
        return mCLXYEditResponse;
    }

    QString clZEditResponse()
    {
        return mCLZEditResponse;
    }

    QString operationalStatus()
    {
        return mOperationalStatus;
    }

    QUuid groupEventID()
    {
        return mGroupEventID;
    }

    QUuid stationSeriesEventID()
    {
        return mStationSeriesEventID;
    }

    double symbolRotation()
    {
        return mSymbolRotation;
    }

signals:

public slots:
    void setCLControl(QString value)
    {
        mCLControl = value;
    }

    void setCLStationEditResponse(QString value)
    {
        mCLStationEditResponse = value;
    }

    void setCLXYEditResponse(QString value)
    {
        mCLXYEditResponse = value;
    }

    void setCLZEditResponse(QString value)
    {
        mCLZEditResponse = value;
    }

    void setOperationalStatus(QString value)
    {
        mOperationalStatus = value;
    }

    void setGroupEventID(QUuid value)
    {
        mGroupEventID = value;
    }

    void setStationSeriesEventID(QUuid value)
    {
        mStationSeriesEventID = value;
    }

    void setSymbolRotation(double value)
    {
        mSymbolRotation = value;
    }

protected:
    void buildInsertStatement();
    void buildUpdateStatement();
    void bindQueryValues(QSqlQuery &query);

private:
    QString
            mCLControl,
            mCLStationEditResponse,
            mCLXYEditResponse,
            mCLZEditResponse,
            mOperationalStatus;
    QUuid
            mGroupEventID,
            mStationSeriesEventID;
    double
            mSymbolRotation;
};

#endif // CENTERLINEPOINT_H
